View Issue Details

IDProjectCategoryView StatusLast Update
0001789T99X171.00 SKB EagleSW Issuepublic2023-12-27 14:14
Reporter(ALTech) JunGyu Kim Assigned To(SW) Jerry Lin Due Date2023-08-18 12:49
PrioritynormalSeveritys4-minorReproducibilitysometimes
Status closedResolutionreopened 
Summary0001789: [Smart3][ATV12] No signal issue when standby on/off aging
DescriptionHi Kerwin,

"No signal" issue occurs during Standby on/off aging.
The Jira tickets is:
https://jira.skbroadband.com/browse/AMANDROIDS-82

When this issue first occurred, it occurred with tombstone, so we requested verification from Amlogic.
We recently received an improvement patch from Amlogic, and the tombstone did not occur in the test FW (15.537.565) that included this patch.
However, the "No signal" issue still occurs.

Amlogic is currently debugging, and shared the debugging results. The contents are as follows.
======================================================================================
1) From customer's code we can see that customer has modified the flow of suspend/resume, they use stop_hpd(their own modification) to realize control over HDMItx.

See "store_stop_hpd() @ common/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c"

2) From the log 20230802_SleepWakeUp_STB_4.zip, we can see that:

Line 86637: 08-02 01:21:06.456 30173 30173 I MainActivity: wakeup() called
Line 86735: 08-02 01:21:06.483 0 0 I [33097.574613@2]- hdmitx: amhdmitx: cable plugin resume
Line 86749: 08-02 01:21:06.509 3537 3572 D MesonHwc: received Uevent: hdmitx_hpd=1
Line 86750: 08-02 01:21:06.509 3504 3547 D SystemControl: [/DisplayMode.cpp, onTxEvent, 3443] onTxEvent switchName:hdmitx_hpd hpdstate:1 state: 1
Line 86755: 08-02 01:21:06.510 3504 3547 I SystemControl: EDID parsing status: ok
Line 89172: 08-02 01:21:07.523 3537 6519 D MesonHwc: recv videotunnel [1] cmd=0
Line 89520: 08-02 01:21:07.811 3537 3572 D MesonHwc: ModeChange state: [Complete]
Line 89689: 08-02 01:21:07.907 3504 3547 D SystemControl: [/DisplayMode.cpp, onTxEvent, 3443] onTxEvent switchName:hdmitx_audio hpdstate:1 state: 1
Line 90704: 08-02 01:21:08.605 3537 3572 D MesonHwc: On mode change state: [Complete]
Line 90766: 08-02 01:21:08.620 3537 3607 D MesonHwc: [doReleaseVtResource] [65400] Hwc2Layer release disconnect(1) queuedFrames(0)
Line 93420: 08-02 01:21:16.563 30173 30173 I MainActivity: sleep() called
Line 93988: 08-02 01:21:16.762 3537 3572 D MesonHwc: received Uevent: hdmitx_hpd=0
Line 94000: 08-02 01:21:16.763 3504 3547 D SystemControl: [/DisplayMode.cpp, onTxEvent, 3443] onTxEvent switchName:hdmitx_hpd hpdstate:0 state: 1
Line 94185: 08-02 01:21:16.823 3537 3572 D MesonHwc: ModeChange state: [Begin to change]
Line 94186: 08-02 01:21:16.826 3537 3572 D MesonHwc: On mode change state: [Begin to change]
Line 94188: 08-02 01:21:16.831 3537 3572 D MesonHwc: blankDisplay clear layers
Line 94189: 08-02 01:21:16.832 3537 3572 D MesonHwc: [doReleaseVtResource] [65402] Hwc2Layer release disconnect(1) queuedFrames(0)
Line 94213: 08-02 01:21:16.860 3504 3547 D SystemControl: [/DisplayMode.cpp, onTxEvent, 3443] onTxEvent switchName:hdmitx_audio hpdstate:0 state: 1
Line 94227: 08-02 01:21:16.878 0 0 I [33107.966196@3]- hdmitx: amhdmitx: cable plugout, set hdev->hpd_lock to 1

## issue happened
Line 97878: 08-02 01:21:56.989 30173 30173 I MainActivity: wakeup() called
Line 97965: 08-02 01:21:57.022 0 0 I [33148.109553@3]- hdmitx: amhdmitx: cable plugin resume
Line 97975: 08-02 01:21:57.044 3504 3547 D SystemControl: [/DisplayMode.cpp, onTxEvent, 3443] onTxEvent switchName:hdmitx_hpd hpdstate:1 state: 1
Line 97977: 08-02 01:21:57.045 3504 3547 I SystemControl: EDID parsing status: ok
Line 99540: 08-02 01:21:57.567 3504 3547 D SystemControl: [/DisplayMode.cpp, onTxEvent, 3443] onTxEvent switchName:hdmitx_audio hpdstate:1 state: 1
After wakeup, HWC does not poll hpd uevent but systemcontrol can receive hpd uevent.

Discussed with [~Baocheng.Sun], we suspected "ueventThread" is stuck. We need check more to confirm why HWC has not received hpd state.

[To Do]
Need bugreport to confirm why HWC has not received hpd state.
======================================================================================

Amlogic's opinion is that the code modified by FXN seems to be the cause, so I request a review.
I attached log files when "No signal" issue was occurred. (Around 08/01 21:25:55 no signal occurred)

We are currently trying to reproduce, and will deliver a bug report when the issue is reproduced.
We will share the bug report results when the issue is reproduced.

Thank you.
Kim
Steps To Reproduce1. Test progress on 15.537.565 FW with improvement patch
2. Enter the Power key every 10 seconds
3. After about 5 to 15 hours, "No signal" issue occurs
TagsNo tags attached.
Attach Tags

Users monitoring this issue

User List (ALTech) SY Yoon , (ALTech) Younkwang Jung , (SW) Jason Ling

Activities

(ALTech) JunGyu Kim

2023-08-11 12:04

developer  

(ALTech) JunGyu Kim

2023-08-11 17:19

developer   ~0013875

Last edited: 2023-08-11 17:20

Hi Kerwin,

I have attached log and bugreport files. (Around 08/11 17:01:07 no signal occurred)
I also shared these files to Amlogic. I will let you know if any update,

Please refer it.

Thank you,
Kim
BFX-AT100_20230811-095712.7z (75,379,262 bytes)

(SW) Jerry Lin

2023-08-16 11:22

developer   ~0013888

Hi Kim ,
My analysis is as following:
You can check with JERRY_DEBUG ,
The WindowManager can get POWER key evnet, but no wakeup() called from MainActivity.
So the SMART3 is in suspend mode and output "No signal".

In Normal case: ("Resume --> Suspend --> Resume" is 20 sec)
//Resume
08-11 16:58:34.429 0 0 I [25407.362924@0]- hdmitx: amhdmitx: cable plugin resume
.
//Suspend
08-11 16:58:44.683 0 0 I [25417.622762@3]- hdmitx: amhdmitx: cable plugout, set hdev->hpd_lock to 1
.
//Resume
08-11 16:58:54.585 3884 6007 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 16:58:54.586 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=true repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 16:58:54.587 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 16:58:54.587 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 16:58:54.587 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 16:58:54.588 3884 6007 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 16:58:54.588 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=false repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 16:58:54.588 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 16:58:54.590 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 16:58:54.590 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 16:58:54.595 4819 4819 I MainActivity: mKeyEventObserver.onKeyEvent() keyEventType : POWER, keyEventAction : KEY_SINGLE_DOWN, isAlreadyProcess : false
08-11 16:58:54.595 4819 4819 I MainActivity: wakeup() called
08-11 16:58:54.617 0 0 I [25427.549999@1]- hdmitx: amhdmitx: cable plugin resume


In Fail case : ("Resume --> Suspend --> Resume" is 50 sec)
//Resume
08-11 17:00:15.423 0 0 I [25508.356952@0]- hdmitx: amhdmitx: cable plugin resume
.
//Suspend
08-11 17:00:25.837 0 0 I [25518.763878@1]- hdmitx: amhdmitx: cable plugout, set hdev->hpd_lock to 1
.
<<< JERRY DEBUG start>>>>
<<<< WindowManager can get POWER key evnet, but no wakeup() called from MainActivity.
08-11 17:00:35.571 3884 13549 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:00:35.572 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=true repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:00:35.573 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:00:35.573 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:00:35.573 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 17:00:35.574 3884 13549 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:00:35.574 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=false repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:00:35.574 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:00:35.575 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:00:35.575 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
<<< JERRY DEBUG end>>>>
.
.
<<< Have POWER KEY >>>
08-11 17:00:45.661 3884 5052 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:00:45.662 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=true repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:00:45.663 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:00:45.663 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:00:45.663 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 17:00:45.663 3884 5052 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:00:45.664 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=false repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:00:45.664 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:00:45.665 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:00:45.665 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
.
.
<<< Have POWER KEY >>>.
08-11 17:00:55.762 3884 4181 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:00:55.764 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=true repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:00:55.765 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:00:55.765 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:00:55.765 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 17:00:55.766 3884 4181 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:00:55.766 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=false repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:00:55.766 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:00:55.769 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:00:55.769 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
.
.
//Resume
08-11 17:01:05.897 3884 5052 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:01:05.898 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=true repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:01:05.899 3884 3986 D WindowManager: interceptKeyTi lastkeytime 2023-08-11 17:01
08-11 17:01:05.901 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:01:05.901 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:01:05.901 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 17:01:05.902 3884 5052 I WindowManager: interceptKeyTq keycode=26 interactive=true keyguardActive=false policyFlags=2b000000
08-11 17:01:05.902 3884 3986 I WindowManager: interceptKeyTi keyCode=26 down=false repeatCount=0 keyguardOn=false canceled=false policyFlags=1795162112 mDeviceId=-1 mSource=0 mScanCode=0 mCharacters=null
08-11 17:01:05.902 3884 3986 D WindowManager: interceptSkbFuctionKeyBeforeDispatching keycode = 26
08-11 17:01:05.904 3884 3986 D WindowManager: keycode : 26 - processed. by skb function key
08-11 17:01:05.904 3884 3986 W GlobalKeyManager: handleGlobalKey keyCode : 26 componentComponentInfo{com.skb.tv/com.skb.google.tv.global.STBGlobalkeyBroadCastReceiver}
08-11 17:01:05.952 4819 4819 I MainActivity: mKeyEventObserver.onKeyEvent() keyEventType : POWER, keyEventAction : KEY_SINGLE_DOWN, isAlreadyProcess : false
08-11 17:01:05.966 4819 4819 I STBAPIManager: wakeup() called
08-11 17:01:05.980 0 0 I [25558.911819@2]- hdmitx: amhdmitx: cable plugin resume

Jerry

(ALTech) JunGyu Kim

2023-09-06 14:45

developer   ~0014090

This issue was fixed by Amlogic.
I close this issue.
Kim

(ALTech) Younkwang Jung

2023-11-06 18:17

developer   ~0014482

Hi Jerry

The issue has not yet been fully cleared.
There is still an issue with UI537.
https://jira.skbroadband.com/browse/AMANDROIDS-82

we received the AMANDROIDS-82 patch from Amlogic and tested it.
The results of the 4 STB tests are as follows.
- 2 STBs had no issue for 24 days.
- 1 has been rebooted with another issue and is being tested again.
- 1 has been rebooted with another issue and this issue was observed again 13 days later.

This issue is not observed by other manufacturers, but only in FXN models.
SKB is requesting to confirm why this issue is being observed only in FXN.
Please explain the implementation part of the FXN model that is different from other manufacturers.

Thank you
YK.Jung

(SW) Jerry Lin

2023-11-07 10:02

developer   ~0014485

Hi YK,
The implementation part of the FXN model as described below:

Power ON:
1. SPtek call DISPLAY_HDMI_SetEnable with input parameter "true" to turn on TV. (refer to vendor/amlogic/btv-hal-impl/bfx-at100/hal_v_disp.cpp)
2. FXN's library call setSourceOutputMode() with input parameter "displayon". (refer to vendor/amlogic/common/frameworks/services/systemcontrol/DisplayMode.cpp)
3. The setSourceOutputMode() write "0" to "/sys/class/amhdmitx/amhdmitx0/stop_hpd". It will call store_stop_hpd() in hdmi driver. (refer to common/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c)
4. The store_stop_hpd() check hdmi hpd status via hdmitx_hpd_hw_op(HPD_READ_HPD_GPIO). (refer to common/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c)
5. If the step 4 is true , then turn on TV. The code of turn on TV is same as hdmitx_hpd_plugin_handler() in hdmi driver. (refer to common/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c)

Power OFF:
1. SPtek call DISPLAY_HDMI_SetEnable with input parameter "false" to turn off TV. (refer to vendor/amlogic/btv-hal-impl/bfx-at100/hal_v_disp.cpp)
2. FXN's library call setSourceOutputMode() with input parameter "displayoff". (refer to vendor/amlogic/common/frameworks/services/systemcontrol/DisplayMode.cpp)
3. The setSourceOutputMode() write "1" to "/sys/class/amhdmitx/amhdmitx0/stop_hpd". It will call store_stop_hpd() in hdmi driver. (refer to common/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c)
4. The step 3 will trigger a hdmi plug out event via hdmitx_wr_reg(HDMITX_TOP_INTR_STAT, 0x80000004)). This will call hdmitx_hpd_plugout_handler() in hdmi driver. (refer to common/drivers/amlogic/media/vout/hdmitx/hdmi_tx_20/hdmi_tx_main.c)

Jerry

(ALTech) JunGyu Kim

2023-12-27 14:14

developer   ~0014823

This issue is checking by Amlogic so I close this issue.
If I have additional request, I will re-open it.

Thank ou.
Kim

Issue History

Date Modified Username Field Change
2023-08-11 12:04 (ALTech) JunGyu Kim New Issue
2023-08-11 12:04 (ALTech) JunGyu Kim Status new => assigned
2023-08-11 12:04 (ALTech) JunGyu Kim Assigned To => (SW) Kerwin Chen
2023-08-11 12:04 (ALTech) JunGyu Kim File Added: 20230802_SleepWakeUp_STB_4.zip
2023-08-11 12:04 (ALTech) JunGyu Kim Issue Monitored: (ALTech) SY Yoon
2023-08-11 12:04 (ALTech) JunGyu Kim Issue Monitored: (ALTech) Younkwang Jung
2023-08-11 17:19 (ALTech) JunGyu Kim Note Added: 0013875
2023-08-11 17:19 (ALTech) JunGyu Kim File Added: bugreport-BFX_AT100-STTC.220724.001-2023-08-11-18-07-18.zip
2023-08-11 17:19 (ALTech) JunGyu Kim File Added: BFX-AT100_20230811-095712.7z
2023-08-11 17:20 (ALTech) JunGyu Kim Note Edited: 0013875
2023-08-11 17:46 (SW) Kerwin Chen Assigned To (SW) Kerwin Chen => (SW) Jerry Lin
2023-08-14 08:35 (SW) Jason Ling Issue Monitored: (SW) Jason Ling
2023-08-16 11:22 (SW) Jerry Lin Note Added: 0013888
2023-09-06 14:45 (ALTech) JunGyu Kim Status assigned => closed
2023-09-06 14:45 (ALTech) JunGyu Kim Resolution open => fixed
2023-09-06 14:45 (ALTech) JunGyu Kim Note Added: 0014090
2023-11-06 18:17 (ALTech) Younkwang Jung Status closed => feedback
2023-11-06 18:17 (ALTech) Younkwang Jung Resolution fixed => reopened
2023-11-06 18:17 (ALTech) Younkwang Jung Note Added: 0014482
2023-11-07 10:02 (SW) Jerry Lin Note Added: 0014485
2023-12-27 14:14 (ALTech) JunGyu Kim Status feedback => closed
2023-12-27 14:14 (ALTech) JunGyu Kim Note Added: 0014823